package com.lovegu.server.infrastructure.modules.user.service;

import com.alibaba.cola.dto.SingleResponse;
import com.lovegu.server.client.dto.UserDTO;
import com.lovegu.server.client.vo.UserVO;

import java.util.Collection;
import java.util.List;

/**
 * @author 老顾
 * @title: TestService
 * @projectName online-office-system
 * @email: 1437594522@qq.com
 * @date 2022/9/6 17:43
 */
public interface UserService {

    /**
     * 增加用户
     *
     * @param userDTO 请求参数
     */
    void addUser(UserDTO userDTO);

    /**
     * 删除单个用户
     *
     * @param userDTO 请求参数
     */
    void deleteUser(UserDTO userDTO);

    /**
     * 批量删除用户
     *
     * @param userDTOList 请求参数
     */
    void deleteBatchUser(Collection<Integer> userDTOList);

    /**
     * 修改用户
     *
     * @param userDTO 请求参数
     */
    void updateUser(UserDTO userDTO);

    /**
     * 查询单个用户
     * 
     * @param userDTO 请求
     * @return 用户数据
     */
    UserVO selectUser(UserDTO userDTO);

    /**
     * 批量查询用户
     *
     * @param userDTO 请求
     * @return 用户数据
     */
    List<UserVO> selectBatchUser(UserDTO userDTO);

    /**
     * 用户注册登录
     *
     * @param userDTO 请求
     * @return 用户数据
     */
    UserVO loginUser(UserDTO userDTO);
}
